<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/include/uapi/asm-generic/ioctl.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/include/uapi/asm-generic/ioctl.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X1VBUElfQVNNX0dFTkVSSUNfSU9DVExfSF8w"><span class="b">_UAPI_ASM_GENERIC_IOCTL_H</span></a>
<a name="2" /><span class="True">       2:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1VBUElfQVNNX0dFTkVSSUNfSU9DVExfSF8w"><span class="b">_UAPI_ASM_GENERIC_IOCTL_H</span></a>
<a name="3" /><span class="True">       3:</span> 
<a name="4" /><span class="True">       4:</span> <span class="k">/* ioctl command encoding: 32 bits total, command in lower 16 bits,</span>
<a name="5" /><span class="True">       5:</span> <span class="k"> * size of the parameter structure in the lower 14 bits of the</span>
<a name="6" /><span class="True">       6:</span> <span class="k"> * upper 16 bits.</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> * Encoding the size of the parameter structure in the ioctl request</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * is useful for catching programs compiled with old versions</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> * and to avoid overwriting user space outside the user buffer area.</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> * The highest 2 bits are reserved for indicating the ``access mode&apos;&apos;.</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> * NOTE: This limits the max parameter size to 16kB -1 !</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> */</span>
<a name="13" /><span class="True">      13:</span> 
<a name="14" /><span class="True">      14:</span> <span class="k">/*</span>
<a name="15" /><span class="True">      15:</span> <span class="k"> * The following is for compatibility across the various Linux</span>
<a name="16" /><span class="True">      16:</span> <span class="k"> * platforms.  The generic ioctl numbering scheme doesn&apos;t really enforce</span>
<a name="17" /><span class="True">      17:</span> <span class="k"> * a type field.  De facto, however, the top 8 bits of the lower 16</span>
<a name="18" /><span class="True">      18:</span> <span class="k"> * bits are indeed used as a type field, so we might just as well make</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> * this explicit here.  Please be sure to use the decoding macros</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> * below from now on.</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> */</span>
<a name="22" /><span class="True">      22:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19OUkJJVFNfMA__"><span class="b">_IOC_NRBITS</span></a>    <span class="c">8</span>
<a name="23" /><span class="True">      23:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFQklUU18w"><span class="b">_IOC_TYPEBITS</span></a>    <span class="c">8</span>
<a name="24" /><span class="True">      24:</span> 
<a name="25" /><span class="True">      25:</span> <span class="k">/*</span>
<a name="26" /><span class="True">      26:</span> <span class="k"> * Let any architecture override either of the following before</span>
<a name="27" /><span class="True">      27:</span> <span class="k"> * including this file.</span>
<a name="28" /><span class="True">      28:</span> <span class="k"> */</span>
<a name="29" /><span class="True">      29:</span> 
<a name="30" /><span class="True">      30:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFQklUU18w"><span class="b">_IOC_SIZEBITS</span></a>
<a name="31" /><span class="True">      31:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFQklUU18w"><span class="b">_IOC_SIZEBITS</span></a>    <span class="c">14</span>
<a name="32" /><span class="True">      32:</span> <span class="f">#</span><span class="n">endif</span>
<a name="33" /><span class="True">      33:</span> 
<a name="34" /><span class="True">      34:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0lPQ19ESVJCSVRTXzA_"><span class="b">_IOC_DIRBITS</span></a>
<a name="35" /><span class="True">      35:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19ESVJCSVRTXzA_"><span class="b">_IOC_DIRBITS</span></a>    <span class="c">2</span>
<a name="36" /><span class="True">      36:</span> <span class="f">#</span><span class="n">endif</span>
<a name="37" /><span class="True">      37:</span> 
<a name="38" /><span class="True">      38:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19OUk1BU0tfMA__"><span class="b">_IOC_NRMASK</span></a>    <span class="f">(</span><span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19OUkJJVFNfMA__"><span class="b">_IOC_NRBITS</span></a><span class="f">)</span><span class="f">-</span><span class="c">1</span><span class="f">)</span>
<a name="39" /><span class="True">      39:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFTUFTS18w"><span class="b">_IOC_TYPEMASK</span></a>    <span class="f">(</span><span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFQklUU18w"><span class="b">_IOC_TYPEBITS</span></a><span class="f">)</span><span class="f">-</span><span class="c">1</span><span class="f">)</span>
<a name="40" /><span class="True">      40:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFTUFTS18w"><span class="b">_IOC_SIZEMASK</span></a>    <span class="f">(</span><span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFQklUU18w"><span class="b">_IOC_SIZEBITS</span></a><span class="f">)</span><span class="f">-</span><span class="c">1</span><span class="f">)</span>
<a name="41" /><span class="True">      41:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19ESVJNQVNLXzA_"><span class="b">_IOC_DIRMASK</span></a>    <span class="f">(</span><span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19ESVJCSVRTXzA_"><span class="b">_IOC_DIRBITS</span></a><span class="f">)</span><span class="f">-</span><span class="c">1</span><span class="f">)</span>
<a name="42" /><span class="True">      42:</span> 
<a name="43" /><span class="True">      43:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19OUlNISUZUXzA_"><span class="b">_IOC_NRSHIFT</span></a>    <span class="c">0</span>
<a name="44" /><span class="True">      44:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFU0hJRlRfMA__"><span class="b">_IOC_TYPESHIFT</span></a>    <span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19OUlNISUZUXzA_"><span class="b">_IOC_NRSHIFT</span></a><span class="f">+</span><a href="cpu.c_macros_noref.html#_X0lPQ19OUkJJVFNfMA__"><span class="b">_IOC_NRBITS</span></a><span class="f">)</span>
<a name="45" /><span class="True">      45:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFU0hJRlRfMA__"><span class="b">_IOC_SIZESHIFT</span></a>    <span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFU0hJRlRfMA__"><span class="b">_IOC_TYPESHIFT</span></a><span class="f">+</span><a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFQklUU18w"><span class="b">_IOC_TYPEBITS</span></a><span class="f">)</span>
<a name="46" /><span class="True">      46:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19ESVJTSElGVF8w"><span class="b">_IOC_DIRSHIFT</span></a>    <span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFU0hJRlRfMA__"><span class="b">_IOC_SIZESHIFT</span></a><span class="f">+</span><a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFQklUU18w"><span class="b">_IOC_SIZEBITS</span></a><span class="f">)</span>
<a name="47" /><span class="True">      47:</span> 
<a name="48" /><span class="True">      48:</span> <span class="k">/*</span>
<a name="49" /><span class="True">      49:</span> <span class="k"> * Direction bits, which any architecture can choose to override</span>
<a name="50" /><span class="True">      50:</span> <span class="k"> * before including this file.</span>
<a name="51" /><span class="True">      51:</span> <span class="k"> */</span>
<a name="52" /><span class="True">      52:</span> 
<a name="53" /><span class="True">      53:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0lPQ19OT05FXzA_"><span class="b">_IOC_NONE</span></a>
<a name="54" /><span class="True">      54:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19OT05FXzA_"><span class="b">_IOC_NONE</span></a>    <span class="c">0U</span>
<a name="55" /><span class="True">      55:</span> <span class="f">#</span><span class="n">endif</span>
<a name="56" /><span class="True">      56:</span> 
<a name="57" /><span class="True">      57:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0lPQ19XUklURV8w"><span class="b">_IOC_WRITE</span></a>
<a name="58" /><span class="True">      58:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19XUklURV8w"><span class="b">_IOC_WRITE</span></a>    <span class="c">1U</span>
<a name="59" /><span class="True">      59:</span> <span class="f">#</span><span class="n">endif</span>
<a name="60" /><span class="True">      60:</span> 
<a name="61" /><span class="True">      61:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0lPQ19SRUFEXzA_"><span class="b">_IOC_READ</span></a>
<a name="62" /><span class="True">      62:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19SRUFEXzA_"><span class="b">_IOC_READ</span></a>    <span class="c">2U</span>
<a name="63" /><span class="True">      63:</span> <span class="f">#</span><span class="n">endif</span>
<a name="64" /><span class="True">      64:</span> 
<a name="65" /><span class="True">      65:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ18w"><span class="b">_IOC</span></a><span class="f">(</span><span class="b">dir</span><span class="f">,</span><span class="b">type</span><span class="f">,</span><span class="b">nr</span><span class="f">,</span><span class="b">size</span><span class="f">)</span> \
<a name="66" /><span class="True">      66:</span>     <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">dir</span><span class="f">)</span>  <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19ESVJTSElGVF8w"><span class="b">_IOC_DIRSHIFT</span></a><span class="f">)</span> <span class="f">|</span> \
<a name="67" /><span class="True">      67:</span>      <span class="f">(</span><span class="f">(</span><span class="b">type</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFU0hJRlRfMA__"><span class="b">_IOC_TYPESHIFT</span></a><span class="f">)</span> <span class="f">|</span> \
<a name="68" /><span class="True">      68:</span>      <span class="f">(</span><span class="f">(</span><span class="b">nr</span><span class="f">)</span>   <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19OUlNISUZUXzA_"><span class="b">_IOC_NRSHIFT</span></a><span class="f">)</span> <span class="f">|</span> \
<a name="69" /><span class="True">      69:</span>      <span class="f">(</span><span class="f">(</span><span class="b">size</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFU0hJRlRfMA__"><span class="b">_IOC_SIZESHIFT</span></a><span class="f">)</span><span class="f">)</span>
<a name="70" /><span class="True">      70:</span> 
<a name="71" /><span class="False">      71:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19LRVJORUxfX18w"><span class="b">__KERNEL__</span></a>
<a name="72" /><span class="False">      72:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFQ0hFQ0tfMA__"><span class="b">_IOC_TYPECHECK</span></a><span class="f">(</span><span class="b">t</span><span class="f">)</span> <span class="f">(</span><span class="m">sizeof</span><span class="f">(</span><span class="b">t</span><span class="f">)</span><span class="f">)</span>
<a name="73" /><span class="True">      73:</span> <span class="f">#</span><span class="n">endif</span>
<a name="74" /><span class="True">      74:</span> 
<a name="75" /><span class="True">      75:</span> <span class="k">/* used to create numbers */</span>
<a name="76" /><span class="True">      76:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPXzA_"><span class="b">_IO</span></a><span class="f">(</span><span class="b">type</span><span class="f">,</span><span class="b">nr</span><span class="f">)</span>        <a href="cpu.c_macros_noref.html#_X0lPQ18w"><span class="b">_IOC</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19OT05FXzA_"><span class="b">_IOC_NONE</span></a><span class="f">,</span><span class="f">(</span><span class="b">type</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">nr</span><span class="f">)</span><span class="f">,</span><span class="c">0</span><span class="f">)</span>
<a name="77" /><span class="True">      77:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPUl8w"><span class="b">_IOR</span></a><span class="f">(</span><span class="b">type</span><span class="f">,</span><span class="b">nr</span><span class="f">,</span><span class="b">size</span><span class="f">)</span>    <a href="cpu.c_macros_noref.html#_X0lPQ18w"><span class="b">_IOC</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19SRUFEXzA_"><span class="b">_IOC_READ</span></a><span class="f">,</span><span class="f">(</span><span class="b">type</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">nr</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFQ0hFQ0tfMA__"><span class="b">_IOC_TYPECHECK</span></a><span class="f">(</span><span class="b">size</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="78" /><span class="True">      78:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPV18w"><span class="b">_IOW</span></a><span class="f">(</span><span class="b">type</span><span class="f">,</span><span class="b">nr</span><span class="f">,</span><span class="b">size</span><span class="f">)</span>    <a href="cpu.c_macros_noref.html#_X0lPQ18w"><span class="b">_IOC</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19XUklURV8w"><span class="b">_IOC_WRITE</span></a><span class="f">,</span><span class="f">(</span><span class="b">type</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">nr</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFQ0hFQ0tfMA__"><span class="b">_IOC_TYPECHECK</span></a><span class="f">(</span><span class="b">size</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="79" /><span class="True">      79:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPV1JfMA__"><span class="b">_IOWR</span></a><span class="f">(</span><span class="b">type</span><span class="f">,</span><span class="b">nr</span><span class="f">,</span><span class="b">size</span><span class="f">)</span>    <a href="cpu.c_macros_noref.html#_X0lPQ18w"><span class="b">_IOC</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19SRUFEXzA_"><span class="b">_IOC_READ</span></a><span class="f">|</span><a href="cpu.c_macros_noref.html#_X0lPQ19XUklURV8w"><span class="b">_IOC_WRITE</span></a><span class="f">,</span><span class="f">(</span><span class="b">type</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">nr</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFQ0hFQ0tfMA__"><span class="b">_IOC_TYPECHECK</span></a><span class="f">(</span><span class="b">size</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="80" /><span class="True">      80:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPUl9CQURfMA__"><span class="b">_IOR_BAD</span></a><span class="f">(</span><span class="b">type</span><span class="f">,</span><span class="b">nr</span><span class="f">,</span><span class="b">size</span><span class="f">)</span>    <a href="cpu.c_macros_noref.html#_X0lPQ18w"><span class="b">_IOC</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19SRUFEXzA_"><span class="b">_IOC_READ</span></a><span class="f">,</span><span class="f">(</span><span class="b">type</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">nr</span><span class="f">)</span><span class="f">,</span><span class="m">sizeof</span><span class="f">(</span><span class="b">size</span><span class="f">)</span><span class="f">)</span>
<a name="81" /><span class="True">      81:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPV19CQURfMA__"><span class="b">_IOW_BAD</span></a><span class="f">(</span><span class="b">type</span><span class="f">,</span><span class="b">nr</span><span class="f">,</span><span class="b">size</span><span class="f">)</span>    <a href="cpu.c_macros_noref.html#_X0lPQ18w"><span class="b">_IOC</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19XUklURV8w"><span class="b">_IOC_WRITE</span></a><span class="f">,</span><span class="f">(</span><span class="b">type</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">nr</span><span class="f">)</span><span class="f">,</span><span class="m">sizeof</span><span class="f">(</span><span class="b">size</span><span class="f">)</span><span class="f">)</span>
<a name="82" /><span class="True">      82:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPV1JfQkFEXzA_"><span class="b">_IOWR_BAD</span></a><span class="f">(</span><span class="b">type</span><span class="f">,</span><span class="b">nr</span><span class="f">,</span><span class="b">size</span><span class="f">)</span>    <a href="cpu.c_macros_noref.html#_X0lPQ18w"><span class="b">_IOC</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19SRUFEXzA_"><span class="b">_IOC_READ</span></a><span class="f">|</span><a href="cpu.c_macros_noref.html#_X0lPQ19XUklURV8w"><span class="b">_IOC_WRITE</span></a><span class="f">,</span><span class="f">(</span><span class="b">type</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">nr</span><span class="f">)</span><span class="f">,</span><span class="m">sizeof</span><span class="f">(</span><span class="b">size</span><span class="f">)</span><span class="f">)</span>
<a name="83" /><span class="True">      83:</span> 
<a name="84" /><span class="True">      84:</span> <span class="k">/* used to decode ioctl numbers.. */</span>
<a name="85" /><span class="True">      85:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19ESVJfMA__"><span class="b">_IOC_DIR</span></a><span class="f">(</span><span class="b">nr</span><span class="f">)</span>        <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">nr</span><span class="f">)</span> <span class="f">&gt;&gt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19ESVJTSElGVF8w"><span class="b">_IOC_DIRSHIFT</span></a><span class="f">)</span> <span class="f">&amp;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19ESVJNQVNLXzA_"><span class="b">_IOC_DIRMASK</span></a><span class="f">)</span>
<a name="86" /><span class="True">      86:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFXzA_"><span class="b">_IOC_TYPE</span></a><span class="f">(</span><span class="b">nr</span><span class="f">)</span>        <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">nr</span><span class="f">)</span> <span class="f">&gt;&gt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFU0hJRlRfMA__"><span class="b">_IOC_TYPESHIFT</span></a><span class="f">)</span> <span class="f">&amp;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19UWVBFTUFTS18w"><span class="b">_IOC_TYPEMASK</span></a><span class="f">)</span>
<a name="87" /><span class="True">      87:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19OUl8w"><span class="b">_IOC_NR</span></a><span class="f">(</span><span class="b">nr</span><span class="f">)</span>        <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">nr</span><span class="f">)</span> <span class="f">&gt;&gt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19OUlNISUZUXzA_"><span class="b">_IOC_NRSHIFT</span></a><span class="f">)</span> <span class="f">&amp;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19OUk1BU0tfMA__"><span class="b">_IOC_NRMASK</span></a><span class="f">)</span>
<a name="88" /><span class="True">      88:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFXzA_"><span class="b">_IOC_SIZE</span></a><span class="f">(</span><span class="b">nr</span><span class="f">)</span>        <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">nr</span><span class="f">)</span> <span class="f">&gt;&gt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFU0hJRlRfMA__"><span class="b">_IOC_SIZESHIFT</span></a><span class="f">)</span> <span class="f">&amp;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFTUFTS18w"><span class="b">_IOC_SIZEMASK</span></a><span class="f">)</span>
<a name="89" /><span class="True">      89:</span> 
<a name="90" /><span class="True">      90:</span> <span class="k">/* ...and for the drivers/sound files... */</span>
<a name="91" /><span class="True">      91:</span> 
<a name="92" /><span class="True">      92:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SU9DX0lOXzA_"><span class="b">IOC_IN</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19XUklURV8w"><span class="b">_IOC_WRITE</span></a> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19ESVJTSElGVF8w"><span class="b">_IOC_DIRSHIFT</span></a><span class="f">)</span>
<a name="93" /><span class="True">      93:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SU9DX09VVF8w"><span class="b">IOC_OUT</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19SRUFEXzA_"><span class="b">_IOC_READ</span></a> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19ESVJTSElGVF8w"><span class="b">_IOC_DIRSHIFT</span></a><span class="f">)</span>
<a name="94" /><span class="True">      94:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SU9DX0lOT1VUXzA_"><span class="b">IOC_INOUT</span></a>    <span class="f">(</span><span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19XUklURV8w"><span class="b">_IOC_WRITE</span></a><span class="f">|</span><a href="cpu.c_macros_noref.html#_X0lPQ19SRUFEXzA_"><span class="b">_IOC_READ</span></a><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19ESVJTSElGVF8w"><span class="b">_IOC_DIRSHIFT</span></a><span class="f">)</span>
<a name="95" /><span class="True">      95:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SU9DU0laRV9NQVNLXzA_"><span class="b">IOCSIZE_MASK</span></a>    <span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFTUFTS18w"><span class="b">_IOC_SIZEMASK</span></a> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFU0hJRlRfMA__"><span class="b">_IOC_SIZESHIFT</span></a><span class="f">)</span>
<a name="96" /><span class="True">      96:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SU9DU0laRV9TSElGVF8w"><span class="b">IOCSIZE_SHIFT</span></a>    <span class="f">(</span><a href="cpu.c_macros_noref.html#_X0lPQ19TSVpFU0hJRlRfMA__"><span class="b">_IOC_SIZESHIFT</span></a><span class="f">)</span>
<a name="97" /><span class="True">      97:</span> 
<a name="98" /><span class="True">      98:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _UAPI_ASM_GENERIC_IOCTL_H */</span>
<a name="99" /><span class="True">      99:</span> </pre>
  </body>
</html>
